perm filename AL.XGP[HAL,HE] blob
sn#187081 filedate 1975-11-21 generic text, type T, neo UTF8
/FONT#0=BASL30[HAL, HE]/FONT#1=BASI30[HAL, HE]/FONT#2=BASB30/FONT#3=FIX20/FONT#4=GRK30/TMAR=200/PMAR=1992/BMAR=2
␈↓␈↓↓␈↓α␈↓β␈↓∧␈↓ ↓H
␈↓ α,␈β↓H␈↓␈↓␈↓ α,
␈↓ α,␈β↓k␈↓␈↓α␈↓ βf␈↓&THE PHILOSOPHY OF THE MANIPULATOR LANGUAGE␈↓)β⊃␈↓ α,
␈↓ α,␈βα∞␈↓α␈↓ α,
␈↓ α,␈βα1␈↓α␈↓␈↓ α,Design␈α
decisions␈α
have␈α
been␈α
made␈α
throughout␈α
the␈α
construction␈α
of␈α
AL.␈α
The␈α
philosophy␈αthat␈↓ α,
␈↓ α,␈βαT␈↓␈↓ α,has␈αguided␈αthese␈αdecisions␈αarises␈αout␈αof␈αexperience␈αwith␈αWAVE,␈αthe␈αprevious␈αarm␈α
language,␈↓ α,
␈↓ α,␈βαw␈↓␈↓ α,and␈α
with␈α
standard␈α
language-design␈α
issues.␈α
The␈α
intent␈α
of␈α
this␈α
section␈α
is␈αto␈αmention␈αsome␈αof␈↓ α,
␈↓ α,␈ββ~␈↓␈↓ α,the␈α
questions␈α
that␈α
have␈α
arisen␈α
and␈α
to␈α
explain␈α
the␈α
answers␈α
we␈α
have␈α
found.␈↓ α,
␈↓ α,␈ββ=␈↓␈↓ α,
␈↓ α,␈ββ`␈↓␈↓ α,For␈α
the␈α
sake␈α
of␈α
this␈α
discussion,␈α
only␈αthe␈αlow-level␈αmanipulation␈αwill␈αbe␈αdiscussed.␈αThe␈αtask␈↓ α,
␈↓ α,␈β∧β␈↓␈↓ α,domain␈α⊃in␈α⊂which␈α⊂we␈α⊂are␈α⊂interested␈α⊂is␈α⊂to␈α⊂cause␈α⊂the␈α⊂manipulators␈α⊂to␈α⊂perform␈α⊂some␈α⊂set␈α⊂of␈↓ α,
␈↓ α,␈β∧&␈↓␈↓ α,actions.␈α≠These␈α≠actions␈α~are␈α~principally␈α~motions␈α~of␈α~arms␈α~to␈α~specified␈α~locations␈α~and␈↓ α,
␈↓ α,␈β∧I␈↓␈↓ α,opening/closing␈α
of␈α
the␈α
hands.␈↓ α,
␈↓ α,␈β∧l␈↓␈↓ α,
␈↓ α,␈β¬∂␈↓␈↓ α,These␈αmotions␈αhave␈αseveral␈αpurposes.␈αWe␈αwill␈αdiscuss␈αthe␈αcapabilities␈αneeded␈αto␈αaccomplish␈↓ α,
␈↓ α,␈β¬2␈↓␈↓ α,these␈α
purposes,␈α
and␈α
the␈α
choices␈α
taken␈α
to␈α
implement␈α
these␈α
capabilities.␈↓ α,
␈↓ α,␈β¬U␈↓␈↓ α,
␈↓ α,␈β¬x␈↓␈↓ α,
␈↓ α,␈βε≠␈↓␈↓α␈↓ ∧`MOVING OBJECTS TO NEW POSITIONS␈↓ α,
␈↓ α,␈βε>␈↓α␈↓ α,
␈↓ α,␈βεa␈↓α␈↓ α,␈↓The␈α∀first␈α∀purpose␈α∀of␈α∪motions␈α∪is␈α∪to␈α∪move␈α∪objects␈α∪in␈α∪the␈α∪world␈α∪to␈α∪new␈α∪positions.␈α∪The␈↓ α,
␈↓ α,␈βπ∧␈↓␈↓ α,destination␈αcan␈αbe␈αdefined␈αin␈αseveral␈αmutually␈αinconsistent␈α
ways.␈α
For␈α
example,␈α
one␈α
may␈α
want␈↓ α,
␈↓ α,␈βπ'␈↓␈↓ α,to␈αmove␈αa␈αpin␈αinto␈αa␈αhole.␈αThe␈αdestination␈αof␈αthe␈αpin␈αcan␈αbe␈αstated␈αas␈α"the␈αplace␈αwhere␈αthe␈↓ α,
␈↓ α,␈βπJ␈↓␈↓ α,hole␈α
happens␈α
to␈α
be␈α
in␈α
the␈αreal␈αworld",␈α"the␈αplace␈αwhere␈αthe␈αhole␈αis␈αplanned␈αto␈αbe",␈αor␈αeven␈↓ α,
␈↓ α,␈βπm␈↓␈↓ α,"the␈α∂place␈α∂near␈α∂the␈α∂planned␈α∂location␈α∂which␈α∂feels␈α∂most␈α∂like␈α∞a␈α∞hole".␈α∞This␈α∞last␈α∞specification␈↓ α,
␈↓ α,␈βλ⊂␈↓␈↓ α,turns␈α∞out␈α∞to␈α∞be␈α∞generally␈α∞the␈α∞most␈α∞useful,␈α∞since␈α∞the␈α∞first␈α∞two␈α∞are␈α∞contradictory,␈α∞in␈α
that␈α
the␈↓ α,
␈↓ α,␈βλ3␈↓␈↓ α,second␈α
is␈α
only␈α
an␈α
approximation␈α
to␈α
the␈α
first.␈↓ α,
␈↓ α,␈βλV␈↓␈↓ α,
␈↓ α,␈βλy␈↓␈↓↓␈↓ ¬PSpecification of destinations␈↓ α,
␈↓ α,␈β ≤␈↓↓␈↓ α,
␈↓ α,␈β ?␈↓↓␈↓␈↓ α,It␈α⊃is␈α⊃necessary␈α⊃to␈α⊃somehow␈α⊂specify␈α⊂the␈α⊂destination␈α⊂of␈α⊂motions␈α⊂to␈α⊂achieve␈α⊂the␈α⊂purpose␈α⊂of␈↓ α,
␈↓ α,␈β b␈↓␈↓ α,controlled␈α⊃motion␈α⊃of␈α⊃objects.␈α⊃The␈α⊃arms␈α⊃that␈α⊃we␈α⊃are␈α⊃using␈α⊃have␈α⊂six␈α⊂degrees␈α⊂of␈α⊂freedom.␈↓ α,
␈↓ α,␈β
¬␈↓␈↓ α,Possible␈αchoices␈αfor␈αthe␈αspecification␈αof␈αdestinations␈αinclude␈αsets␈αof␈αsix␈αjoint␈αangles,␈αlocation␈↓ α,
␈↓ α,␈β
(␈↓␈↓ α,and␈αorientation␈α
vectors␈α
with␈α
respect␈α
to␈α
some␈α
coordinate␈α
system,␈α
and␈α
the␈α
minimization␈α
of␈α
some␈↓ α,
␈↓ α,␈β
K␈↓␈↓ α,function␈α⊃of␈α⊃observable␈α⊃data␈α⊃(for␈α⊃example,␈α⊃"the␈α⊃coldest␈α⊃spot␈α⊃in␈α⊃the␈α⊃room"␈α⊂or␈α⊂"the␈α⊂closest␈↓ α,
␈↓ α,␈β
n␈↓␈↓ α,approach␈α⊃possible␈α⊃to␈α⊃a␈α⊃given␈α⊃point␈α⊃given␈α⊃that␈α⊃only␈α⊃joint␈α⊂3␈α⊂may␈α⊂be␈α⊂used").␈α⊂Yet␈α⊂another␈↓ α,
␈↓ α,␈β⊃␈↓␈↓ α,approach␈α⊃is␈α⊃to␈α⊂name␈α⊂the␈α⊂current␈α⊂location␈α⊂of␈α⊂the␈α⊂arm␈α⊂and␈α⊂later␈α⊂to␈α⊂use␈α⊂this␈α⊂name␈α⊂as␈α⊂the␈↓ α,
␈↓ α,␈β4␈↓␈↓ α,destination.␈αA␈αvariant␈αof␈αthis␈αis␈α
to␈α
say␈α
"three␈α
centimeters␈α
above␈α
location␈α
FOO".␈α
This␈α
assumes␈↓ α,
␈↓ α,␈βW␈↓␈↓ α,that␈α
it␈α
is␈α
possible␈α
for␈α
the␈α
user␈α
to␈αsomehow␈αget␈αthe␈αarm␈αonce␈αto␈αthe␈αplace␈αwhere␈αhe␈αwants␈αit␈↓ α,
␈↓ α,␈βz␈↓␈↓ α,(manually␈α
or␈α
otherwise).␈↓ α,
␈↓ α,␈β≥␈↓␈↓ α,
␈↓ α,␈β@␈↓␈↓ α,The␈αWAVE␈αsystem␈αimplemented␈αseveral␈α
of␈α
these␈α
methods.␈α
It␈α
allowed␈α
the␈α
user␈α
to␈α
position␈α
the␈↓ α,
␈↓ α,␈βc␈↓␈↓ α,arm␈α
and␈α
then␈α
have␈α
its␈αposition␈αread␈αinto␈αa␈αvariable,␈αand␈αit␈αalso␈αallowed␈αthe␈αuser␈αto␈αspecify␈↓ α,
␈↓ α,␈β
ε␈↓␈↓ α,location␈α∞and␈α∞orientation␈α∞vectors.␈α∞Experience␈α∞with␈α∞WAVE␈α∞has␈α∞shown␈α
that␈α
these␈α
techniques␈↓ α,
␈↓ α,␈β
)␈↓␈↓ α,are␈αsufficient␈αfor␈αmany␈αtasks,␈αbut␈α
suffer␈α
certain␈α
limitations.␈α
It␈α
is␈α
not␈α
possible␈α
to␈α
say␈α
"the␈α
point␈↓ α,
␈↓ α,␈β
L␈↓␈↓ α,three␈α∂centimeters␈α∂above␈α∂FOO",␈α∂nor␈α∂to␈α∂perform␈α∞general␈α∞arithmetic␈α∞operations␈α∞on␈α∞the␈α∞place␈↓ α,
␈↓ α,␈β
o␈↓␈↓ α,variables.␈αThis␈αlimitation␈αled␈αto␈αthe␈αAL␈αdesign␈αwhich␈αprovides␈αa␈αdatatype␈α(the␈α"frame")␈αthat␈↓ α,
␈↓ α,␈β∞∩␈↓␈↓ α,refers␈α∪to␈α∪a␈α∪location-orientation.␈α∪Arithmetic␈α∪is␈α∪also␈α∪provided,␈α∩and␈α∩this␈α∩has␈α∩led␈α∩to␈α∩other␈↓ α,
␈↓ α,␈β∞5␈↓␈↓ α,datatypes,␈α∂in␈α∂particular,␈α∂vectors,␈α∂scalars,␈α∂and␈α∂transforms.␈α∂This␈α∞arithmetic␈α∞capability␈α∞greatly␈↓ α,
␈↓ α,␈β∞X␈↓␈↓ α,assists␈α
the␈α
user␈α
in␈α
specifying␈α
destinations.␈↓ α,
␈↓ α,␈β∞{␈↓␈↓ α,
␈↓ α,␈β∂≡␈↓␈↓ α,Once␈α∞an␈α∞arithmetic␈α∞capability␈α∞is␈α∞present,␈α∞it␈α∞seems␈α∞that␈α∞something␈α∞approximating␈α
a␈α
general␈↓ α,
␈↓ F␈β∂l␈↓α[1]
␈↓ D␈β↓␈↓α[2]
␈↓ α,␈β↓H␈↓␈↓ α,purpose␈αalgorithmic␈αlanguage␈αis␈αdesired.␈αThe␈αquestion␈αarises␈αwhether␈αwe␈αwish␈αour␈αlanguage␈↓ α,
␈↓ α,␈β↓k␈↓␈↓ α,to␈α∞have␈α
general-purpose␈α
control␈α
strutures␈α
to␈α
match␈α
the␈α
arithmetic␈α
structures.␈α
WAVE␈α
never␈↓ α,
␈↓ α,␈βα∞␈↓␈↓ α,had␈α∞variables;␈α∞it␈α
only␈α
had␈α
a␈α
sort␈α
of␈α
named␈α
constant.␈α
Its␈α
structure␈α
allowed␈α
programming␈α
by␈↓ α,
␈↓ α,␈βα1␈↓␈↓ α,use␈α
of␈α
macros,␈α
and␈αthere␈αwas␈αa␈αprimitive␈αfacility␈αfor␈αconditional␈αand␈αunconditional␈αtransfer␈↓ α,
␈↓ α,␈βαT␈↓␈↓ α,of␈α∃control␈α∃(for␈α∃example,␈α∃"if␈α∃the␈α∃hand␈α∃closes␈α∀farther␈α∀than␈α∀1␈α∀centimeter,␈α∀go␈α∀back␈α∀five␈↓ α,
␈↓ α,␈βαw␈↓␈↓ α,instructions").␈α↔However,␈α↔the␈α↔art␈α↔of␈α⊗language␈α⊗design␈α⊗has␈α⊗progressed␈α⊗far␈α⊗beyond␈α⊗such␈↓ α,
␈↓ α,␈ββ~␈↓␈↓ α,rudimentary␈α(though␈αoften␈αsufficient)␈αtechniques.␈αWe␈α
decided␈α
that␈α
on␈α
the␈α
surface,␈α
AL␈α
should␈↓ α,
␈↓ α,␈ββ=␈↓␈↓ α,look␈αlike␈αALGOL,␈αwith␈αthe␈αconveniences␈αof␈αblock␈αstructure,␈α
declarations,␈α
and␈α
statements.␈α
We␈↓ α,
␈↓ α,␈ββ`␈↓␈↓ α,need␈α∂at␈α∞least␈α∞motion␈α∞statements,␈α∞arithmetic␈α∞statements,␈α∞and␈α∞control-of-execution␈α∞statements.␈↓ α,
␈↓ α,␈β∧β␈↓␈↓ α,ALGOL␈α∂has␈α∂certain␈α∂advantages␈α∂over␈α∂other␈α∂primary␈α∂types␈α∞of␈α∞programming␈α∞language␈α∞(like␈↓ α,
␈↓ α,␈β∧&␈↓␈↓ α,assembly␈αlanguages,␈αFORTRAN,␈αLISP)␈αin␈αthat␈αit␈αis␈αfairly␈αeasy␈αto␈αfollow␈αthe␈αintent␈αof␈αpieces␈↓ α,
␈↓ α,␈β∧I␈↓␈↓ α,of␈α∀code.␈α∀Much␈α∀more␈α∀complete␈α∀discussions␈α∀of␈α∀the␈α∀virtues␈α∪and␈α∪techniques␈α∪of␈α∪structured␈↓ α,
␈↓ α,␈β∧l␈↓␈↓ α,programming␈α
can␈α
be␈α
found␈α
in␈α
standard␈α
texts.␈↓ α,
␈↓ α,␈β¬∂␈↓␈↓ α,
␈↓ α,␈β¬2␈↓␈↓ α,The␈α∩restriction␈α∩that␈α∩destinations␈α∩be␈α∩represented␈α∩as␈α∩frame␈α∩values␈α⊃imposes␈α⊃some␈α⊃inherent␈↓ α,
␈↓ α,␈β¬U␈↓␈↓ α,limitations.␈αIt␈αis␈αnot␈α
possible␈α
to␈α
ask␈α
for␈α
one␈α
joint␈α
alone␈α
to␈α
move,␈α
even␈α
though␈α
WAVE␈α
allowed␈↓ α,
␈↓ α,␈β¬x␈↓␈↓ α,this.␈α⊂The␈α⊂reason␈α⊂for␈α⊂this␈α⊂decision␈α⊂is␈α⊂that␈α⊂the␈α⊂"one␈α⊂joint␈α⊂at␈α⊂a␈α⊂time"␈α⊂feature␈α∂was␈α∂put␈α∂into␈↓ α,
␈↓ α,␈βε≠␈↓␈↓ α,WAVE␈αto␈αallow␈αdebugging␈α
of␈α
individual␈α
joint␈α
servo␈α
code,␈α
but␈α
was␈α
never␈α
once␈α
used␈α
in␈α
useful␈↓ α,
␈↓ α,␈βε>␈↓␈↓ α,tasks.␈αOne␈αcan␈αargue␈αthat␈αjust␈αas␈αa␈αhuman␈αhas␈α
control␈α
over␈α
individual␈α
joints,␈α
it␈α
is␈α
inherently␈↓ α,
␈↓ α,␈βεa␈↓␈↓ α,proper␈α∞that␈α∞the␈α∞mechanical␈α∞system␈α∞have␈α∞similar␈α∞control.␈α∞There␈α∞are␈α
several␈α
answers␈α
to␈α
this.␈↓ α,
␈↓ α,␈βπ∧␈↓␈↓ α,The␈α
first␈αis␈αthat␈αhumans␈αrarely␈αexercise␈αtheir␈αcontrol␈αover␈αindividual␈αjoints,␈αnot␈αto␈αmention␈↓ α,
␈↓ α,␈βπ'␈↓␈↓ α,individual␈α⊃muscles.␈α⊃This␈α⊃is␈α⊂usually␈α⊂handled␈α⊂at␈α⊂some␈α⊂low␈α⊂level␈α⊂over␈α⊂which␈α⊂one␈α⊂has␈α⊂little␈↓ α,
␈↓ α,␈βπJ␈↓␈↓ α,voluntary␈α⊗control.␈α⊗A␈α⊗second␈α⊗answer␈α⊗is␈α⊗that␈α⊗it␈α⊗is␈α⊗not␈α⊗our␈α⊗purpose␈α⊗to␈α⊗model␈α⊗human␈↓ α,
␈↓ α,␈βπm␈↓␈↓ α,manipulatory␈αbehavior,␈αbut␈αrather␈αto␈αautomate␈αcertain␈αaspects␈αof␈αthat␈αbehavior␈αwhich␈α
are␈α
of␈↓ α,
␈↓ α,␈βλ⊂␈↓␈↓ α,interest␈αto␈αthe␈αproblem␈αat␈αhand.␈αThe␈αlimitation␈αto␈α"whole␈αarm␈αmotions"␈αdoes,␈αhowever,␈αmake␈↓ α,
␈↓ α,␈βλ3␈↓␈↓ α,it␈α
difficult␈α
to␈α
specify␈αobstacle␈αavoidance␈α(where␈αyou␈αmight␈αlike␈αto␈αsay␈α"keep␈αyour␈αelbow␈αin")␈↓ α,
␈↓ α,␈βλV␈↓␈↓ α,and␈α
general␈α
control␈α
of␈α
the␈α
space␈α
through␈α
which␈α
the␈α
whole␈α
arm␈α
travels.␈↓ α,
␈↓ α,␈βλy␈↓␈↓ α,
␈↓ α,␈β ≤␈↓␈↓ α,Another␈αinherent␈αlimitation␈αimposed␈αby␈αrestricting␈αdestinations␈αto␈αbe␈αframe␈αvalues␈α
is␈α
that␈α
we␈↓ α,
␈↓ α,␈β ?␈↓␈↓ α,cannot␈α∂say␈α∞"the␈α∞coldest␈α∞spot␈α∞in␈α∞the␈α∞room"␈α∞or␈α∞"the␈α∞closest␈α∞approach␈α∞to␈α∞FOO".␈α∞But␈α∞it␈α∞is␈α∞the␈↓ α,
␈↓ α,␈β b␈↓␈↓ α,usual␈αcase␈αthat␈αdestinations␈αare␈α
known␈α
but␈α
roughly,␈α
and␈α
it␈α
would␈α
be␈α
good␈α
to␈α
allow␈α
the␈α
system␈↓ α,
␈↓ α,␈β
¬␈↓␈↓ α,to␈α⊂learn␈α⊂corrections␈α⊂to␈α⊂its␈α⊂initial␈α⊂understanding␈α⊂of␈α⊂the␈α∂locations␈α∂of␈α∂objects,␈α∂and␈α∂hence,␈α∂of␈↓ α,
␈↓ α,␈β
(␈↓␈↓ α,destinations.␈α∪WAVE␈α∪allowed␈α∪this␈α∪by␈α∪means␈α∪of␈α∪a␈α∪save/restore␈α∪cell␈α∪which␈α∪maintained␈α∪a␈↓ α,
␈↓ α,␈β
K␈↓␈↓ α,discrepancy␈αbetween␈αthe␈αplanned␈αand␈αthe␈αobserved␈αlocation␈αof␈αplaces.␈αAL␈αhas␈αa␈αmuch␈αmore␈↓ α,
␈↓ α,␈β
n␈↓␈↓ α,sophisticated␈α
and␈α
powerful␈α
facility␈α
which␈α
allows␈α
all␈α
trajectories␈α
to␈α
be␈α
modified␈α
immediately␈↓ α,
␈↓ α,␈β⊃␈↓␈↓ α,before␈α
execution␈α
to␈αtake␈αinto␈αaccount␈αthe␈αplanned/observed␈αdiscrepancy.␈αHowever,␈αthis␈αdoes␈↓ α,
␈↓ α,␈β4␈↓␈↓ α,not␈αassist␈αin␈αspecifying␈α"destinationless"␈αtrajectories,␈αthat␈α
is,␈α
those␈α
which␈α
are␈α
solutions␈α
to␈α
some␈↓ α,
␈↓ α,␈βW␈↓␈↓ α,set␈α
of␈α
dynamic␈α
constraints.␈↓ α,
␈↓ α,␈βz␈↓␈↓ α,
␈↓ α,␈β≥␈↓␈↓↓␈↓ ¬tTrajectory specification␈↓ α,
␈↓ α,␈β@␈↓↓␈↓ α,
␈↓ α,␈βc␈↓↓␈↓␈↓ α,The␈αarm␈αcontrol␈αcode␈αmust␈αhave␈αsome␈αunderstanding␈αof␈αthe␈αdesired␈αmotion␈αbefore␈αthe␈αarm␈↓ α,
␈↓ α,␈β
ε␈↓␈↓ α,can␈α∂be␈α∂moved.␈α∂Several␈α∂questions␈α∂present␈α∞themselves:␈α∞Is␈α∞it␈α∞sufficient␈α∞to␈α∞merely␈α∞indicate␈α∞the␈↓ α,
␈↓ α,␈β
)␈↓␈↓ α,destination?␈α∩Is␈α∩it␈α∩desirable␈α∩or␈α∩necessary␈α∩to␈α⊃also␈α⊃indicate␈α⊃intermediate␈α⊃points?␈α⊃If␈α⊃so,␈α⊃how␈↓ α,
␈↓ α,␈β
L␈↓␈↓ α,frequent␈α
should␈α
they␈α
be?␈α
What␈α
are␈α
the␈α
time/space␈α
tradeoffs␈α
involved␈α
in␈αintermediate␈αpoint␈↓ α,
␈↓ α,␈β
o␈↓␈↓ α,frequency?␈α
Experience␈αwith␈αthe␈αScheinman␈αarms␈αhas␈αshown␈αthat␈αcontrolled␈αmotion␈αrequires␈↓ α,
␈↓ α,␈β∞∩␈↓␈↓ α,that␈α
each␈α
working␈α
joint␈αbe␈αserviced␈αat␈αleast␈αabout␈α60␈αtimes␈αeach␈αsecond.␈αShould␈αthe␈αcontrol␈↓ α,
␈↓ α,␈β∞5␈↓␈↓ α,code␈αbe␈αgiven␈αa␈αset-point␈αfor␈αeach␈α60th␈αof␈α
a␈α
second,␈α
or␈α
should␈α
it␈α
do␈α
(say␈α
linear)␈α
interpolation␈↓ α,
␈↓ α,␈β∞X␈↓␈↓ α,between␈α∂given␈α∂set-points?␈α∂On␈α∂what␈α∂basis␈α∂are␈α∞the␈α∞set␈α∞points␈α∞determined␈α∞in␈α∞the␈α∞first␈α∞place?␈↓ α,
␈↓ α,␈β∞{␈↓␈↓ α,What␈αare␈αthe␈αposition,␈αvelocity,␈αand␈αacceleration␈αconstraints␈αof␈αthe␈αarm,␈αand␈αhow␈αare␈αthey␈αto␈↓ α,
␈↓ α,␈β∂≡␈↓␈↓ α,be␈α
taken␈α
into␈α
account?␈↓ α,
␈↓ D␈β↓␈↓α[3]
␈↓ α,␈β↓H␈↓␈↓ α,
␈↓ α,␈β↓k␈↓␈↓ α,The␈αanswers␈αfound␈αfor␈αWAVE␈αare␈αin␈αgeneral␈αapplied,␈αwith␈αminor␈αmodification,␈αto␈αAL.␈αThe␈↓ α,
␈↓ α,␈βα∞␈↓␈↓ α,overall␈α∩idea␈α∩is␈α∩that␈α∩trajectories␈α∩are␈α⊃individually␈α⊃specified␈α⊃for␈α⊃each␈α⊃joint,␈α⊃and␈α⊃that␈α⊃each␈↓ α,
␈↓ α,␈βα1␈↓␈↓ α,trajectory␈α∞is␈α∞composed␈α∞of␈α∞one␈α∞or␈α∞more␈α∞polynomials␈α∞with␈α∞respect␈α∞to␈α∞time.␈α∞When␈α∞the␈α∞arm␈α∞is␈↓ α,
␈↓ α,␈βαT␈↓␈↓ α,moving,␈α
the␈αcontrol␈αcode␈αcan␈αcompare␈αthe␈αcurrent␈αlocation␈αof␈αeach␈αjoint␈αto␈αthe␈αvalue␈αof␈αthe␈↓ α,
␈↓ α,␈βαw␈↓␈↓ α,polynomial␈α∞at␈α∞the␈α
present␈α
time␈α
and␈α
issue␈α
corrective␈α
action␈α
to␈α
the␈α
motors.␈α
This␈α
solution␈α
has␈↓ α,
␈↓ α,␈ββ~␈↓␈↓ α,several␈α∞very␈α∞nice␈α∞properties.␈α∞One␈α∞is␈α∞that␈α∞it␈α∞is␈α∞possible␈α∞␈↓↓a␈α∞priori␈↓␈α
to␈α
determine␈α
the␈α
maximum␈↓ α,
␈↓ α,␈ββ=␈↓␈↓ α,displacements,␈α∞velocities,␈α∞and␈α∞accelerations␈α∞of␈α
each␈α
joint␈α
and␈α
to␈α
insure␈α
compliance␈α
with␈α
the␈↓ α,
␈↓ α,␈ββ`␈↓␈↓ α,capabilities␈α
of␈α
the␈α
arm.␈α
Another␈α
property␈α
is␈α
that␈α
the␈α
motion␈α
is␈α
smooth␈α
and␈α
can␈α
be␈α
guaranteed␈↓ α,
␈↓ α,␈β∧β␈↓␈↓ α,to␈α∀start␈α∀and␈α∀stop␈α∀with␈α∀zero␈α∀acceleration.␈α∀A␈α∀third␈α∪property␈α∪is␈α∪that␈α∪the␈α∪final␈α∪trajectory␈↓ α,
␈↓ α,␈β∧&␈↓␈↓ α,specification␈α
is␈α
completely␈α
independent␈α
of␈α
servoing␈α
rate.␈α
No␈α
interpolation␈α
need␈α
be␈α
done.␈↓ α,
␈↓ α,␈β∧I␈↓␈↓ α,
␈↓ α,␈β∧l␈↓␈↓ α,Disadvantages␈α⊗of␈α⊗this␈α⊗decision␈α∃fall␈α∃into␈α∃two␈α∃categories.␈α∃Sometimes␈α∃this␈α∃complexity␈α∃of␈↓ α,
␈↓ α,␈β¬∂␈↓␈↓ α,trajectory␈α∞is␈α∞unnecessary.␈α∞This␈α∞is␈α∞the␈α∞case␈α∞for␈α∞minor␈α∞motions␈α∞that␈α∞only␈α∞travel␈α∞less␈α∞than␈α∞an␈↓ α,
␈↓ α,␈β¬2␈↓␈↓ α,inch.␈αSometimes,␈αon␈αthe␈αother␈α
hand,␈α
polynomials␈α
are␈α
insufficient.␈α
This␈α
is␈α
the␈α
case␈α
for␈α
circular␈↓ α,
␈↓ α,␈β¬U␈↓␈↓ α,motions.␈αSuch␈αa␈αmotion␈αcan␈αonly␈αbe␈αapproximated,␈αalbeit␈αto␈αarbitrary␈αif␈αexpensive␈αaccuracy,␈↓ α,
␈↓ α,␈β¬x␈↓␈↓ α,by␈α
polynomials.).␈α
Relyance␈α
on␈αpolynomials␈αalso␈αimposes␈αa␈αdistinction␈αbetween␈αplanning␈αtime␈↓ α,
␈↓ α,␈βε≠␈↓␈↓ α,and␈αruntime,␈αsince␈αthe␈αcomplexity␈αof␈αcalculating␈αthese␈α
polynomials␈α
leads␈α
to␈α
the␈α
decision␈α
to␈α
do␈↓ α,
␈↓ α,␈βε>␈↓␈↓ α,it␈α∪but␈α∪once␈α∩for␈α∩any␈α∩motion,␈α∩no␈α∩matter␈α∩how␈α∩often␈α∩that␈α∩motion␈α∩is␈α∩to␈α∩be␈α∩repeated.␈α∩This␈↓ α,
␈↓ α,␈βεa␈↓␈↓ α,distinction␈α
turns␈α
out␈α
to␈α
have␈α
its␈α
own␈α
advantages,␈α
as␈α
we␈α
shall␈α
see.␈↓ α,
␈↓ α,␈βπ∧␈↓␈↓ α,
␈↓ α,␈βπ'␈↓␈↓ α,The␈αalgorithms␈αused␈αto␈αconstruct␈αthe␈αtrajectory,␈αand␈αsome␈αof␈αth␈αreasoning␈αbehind␈αthem,␈αare␈↓ α,
␈↓ α,␈βπJ␈↓␈↓ α,discussed␈α
in␈α
the␈α
section␈α
of␈α
trajectory␈α
calculation␈α
in␈α
the␈α
general␈α
discussion␈α
of␈α
the␈α
compiler.␈↓ α,
␈↓ α,␈βπm␈↓␈↓ α,
␈↓ α,␈βλ⊂␈↓␈↓ α,In␈α
some␈α
sense,␈α
a␈α
list␈α
of␈α
set␈α
points␈α
would␈α
be␈α
preferable,␈α
in␈α
that␈α
absolutely␈α
arbitrary␈α
motions␈↓ α,
␈↓ α,␈βλ3␈↓␈↓ α,would␈αbe␈αpossible.␈αOne␈αcan␈αeven␈αimagine␈αa␈αlist␈αof␈αjust␈αa␈αfew␈αset␈αpoints␈αand␈αthe␈αrequirement␈↓ α,
␈↓ α,␈βλV␈↓␈↓ α,that␈α⊂the␈α⊂arm␈α⊂travel␈α∂through␈α∂these,␈α∂and␈α∂elsewhere␈α∂"do␈α∂the␈α∂right␈α∂thing".␈α∂This␈α∂might␈α∂mean␈↓ α,
␈↓ α,␈βλy␈↓␈↓ α,straight-line␈αmotion␈αin␈αreal␈αspace,␈αor␈αevasive␈αaction␈αto␈αavoid␈αknown␈αobstacles.␈αIt␈αcould␈αmean␈↓ α,
␈↓ α,␈β ≤␈↓␈↓ α,"move␈α
as␈α
fast␈α
as␈α
you␈α
can,␈α
taking␈α
care␈α
to␈α
be␈α
able␈α
to␈α
slow␈α
down␈α
in␈α
time␈α
to␈α
turn␈α
corners␈αand␈↓ α,
␈↓ α,␈β ?␈↓␈↓ α,stop."␈αUnfortunately,␈αthis␈αsort␈αof␈αrequirement␈αimposes␈αtoo␈αmuch␈αlabor␈αon␈αthe␈αruntime␈αsystem␈↓ α,
␈↓ α,␈β b␈↓␈↓ α,which␈α⊂would␈α⊂need␈α∂to␈α∂simultaneously␈α∂service␈α∂six␈α∂joints␈α∂and␈α∂determine␈α∂the␈α∂exact␈α∂trajectory␈↓ α,
␈↓ α,␈β
¬␈↓␈↓ α,based␈α∩on␈α∩all␈α∩sorts␈α∩of␈α∩data.␈α∩We␈α∩are␈α∩limited␈α∩in␈α∩this␈α∩by␈α∩two␈α∩factors,␈α∩the␈α∩capacity␈α∩of␈α∩the␈↓ α,
␈↓ α,␈β
(␈↓␈↓ α,computers␈α
we␈α
use,␈α
and␈α
our␈α
understanding␈α
of␈α
how␈α
to␈α
compute␈α
"the␈α
right␈α
thing".␈α
Linear␈α
spatial␈↓ α,
␈↓ α,␈β
K␈↓␈↓ α,motion␈α∂can␈α∂impose␈α∂excessive␈α∂motion␈α∂on␈α∞some␈α∞joints,␈α∞and␈α∞is␈α∞therefore␈α∞not␈α∞always␈α∞the␈α∞most␈↓ α,
␈↓ α,␈β
n␈↓␈↓ α,efficient␈α∀motion.␈α∀Obstacle␈α∀avoidance␈α∀has␈α∪long␈α∪been␈α∪a␈α∪difficult␈α∪problem,␈α∪and␈α∪even␈α∪the␈↓ α,
␈↓ α,␈β⊃␈↓␈↓ α,seemingly␈αeasier␈αproblem␈αof␈αcollision␈αdetection␈αseems␈αto␈αrequire␈αmore␈αcomputing␈αpower␈αthan␈↓ α,
␈↓ α,␈β4␈↓␈↓ α,we␈α
can␈α
currently␈α
apply.␈α
In␈α
this␈αlight,␈αthe␈αreliance␈αon␈αpolynomial␈αtrajectories␈αis␈αan␈αadequate,␈↓ α,
␈↓ α,␈βW␈↓␈↓ α,but␈α∪not␈α∪a␈α∪complete,␈α∪solution.␈α∪Increasing␈α∪speed␈α∪and␈α∩sophistication␈α∩of␈α∩the␈α∩hardware␈α∩(for␈↓ α,
␈↓ α,␈βz␈↓␈↓ α,example,␈α∪a␈α∪velocity␈α∪servo,␈α∪instead␈α∪of␈α∪our␈α∪torque-drive␈α∪servo)␈α∪will␈α∪no␈α∪doubt␈α∩lead␈α∩to␈α∩a␈↓ α,
␈↓ α,␈β≥␈↓␈↓ α,reevaluation␈α
of␈α
this␈α
decision.␈↓ α,
␈↓ α,␈β@␈↓␈↓ α,
␈↓ α,␈βc␈↓␈↓↓␈↓ ¬aIndirect arm specification␈↓ α,
␈↓ α,␈β
ε␈↓↓␈↓ α,
␈↓ α,␈β
)␈↓↓␈↓␈↓ α,It␈αis␈αdesired␈αnot␈α
merely␈α
to␈α
move␈α
the␈α
arm␈α
to␈α
a␈α
given␈α
destination,␈α
but␈α
rather␈α
to␈α
move␈α
objects␈α
in␈↓ α,
␈↓ α,␈β
L␈↓␈↓ α,general␈α∞to␈α∞destinations.␈α
The␈α
most␈α
accessible␈α
object␈α
is,␈α
of␈α
course,␈α
the␈α
arm␈α
itself.␈α
But␈α
it␈α
often␈↓ α,
␈↓ α,␈β
o␈↓␈↓ α,happens␈αthat␈αsome␈αobject␈αis␈αheld␈αin␈αthe␈αgrasp␈αof␈αthe␈αarm,␈αand␈αit␈αis␈αthis␈αobject␈αthat␈αwe␈αwish␈↓ α,
␈↓ α,␈β∞∩␈↓␈↓ α,to␈α⊂move␈α∂to␈α∂a␈α∂destination.␈α∂This␈α∂raises␈α∂several␈α∂problems:␈α∂What␈α∂do␈α∂we␈α∂use␈α∂to␈α∂represent␈α∂the␈↓ α,
␈↓ α,␈β∞5␈↓␈↓ α,location␈αof␈αan␈αobject?␈αHow␈αdo␈αwe␈αmodel␈αthe␈αaffixment␈αof␈αan␈αobject␈αto␈αthe␈αarm?␈αHow␈αdo␈αwe␈↓ α,
␈↓ α,␈β∞X␈↓␈↓ α,decide␈α
where␈α
the␈α
arm␈α
itself␈α
is␈α
to␈α
go?␈α
What␈α
if␈α
we␈α
are␈α
wrong␈α
about␈α
the␈α
relation␈α
of␈α
the␈α
object␈α
to␈↓ α,
␈↓ α,␈β∞{␈↓␈↓ α,the␈α
arm?␈↓ α,
␈↓ α,␈β∂≡␈↓␈↓ α,
␈↓ A␈β↓␈↓α[4]
␈↓ α,␈β↓H␈↓␈↓ α,WAVE␈α⊂completely␈α⊂ignored␈α∂this␈α∂problem.␈α∂If␈α∂you␈α∂want␈α∂to␈α∂move␈α∂the␈α∂object,␈α∂you␈α∂figure␈α∂out␈↓ α,
␈↓ α,␈β↓k␈↓␈↓ α,what␈α⊂that␈α∂means␈α∂for␈α∂the␈α∂arm.␈α∂(Either␈α∂you␈α∂perform␈α∂some␈α∂computation␈α∂or␈α∂actually␈α∂put␈α∂the␈↓ α,
␈↓ α,␈βα∞␈↓␈↓ α,object␈α∞in␈α∞the␈α∞arm's␈α∞grasp␈α∞and␈α∞move␈α∞the␈α
assemblage␈α
to␈α
the␈α
desired␈α
location,␈α
then␈α
ask␈α
for␈α
a␈↓ α,
␈↓ α,␈βα1␈↓␈↓ α,readout␈αof␈αthe␈αcurrent␈αposition.)␈αIt␈αis␈αpossible␈αto␈αsatisfactorily␈αprogram␈αarm␈αmotions␈αwithout␈↓ α,
␈↓ α,␈βαT␈↓␈↓ α,any␈α∂affixment␈α∂feature,␈α∂but␈α∂it␈α∂is␈α∂not␈α∂easy.␈α∂It␈α∂was␈α∂decided␈α∂that␈α∂AL␈α∂should␈α∞make␈α∞this␈α∞often␈↓ α,
␈↓ α,␈βαw␈↓␈↓ α,needed␈α
feature␈α
a␈α
reality.␈↓ α,
␈↓ α,␈ββ~␈↓␈↓ α,
␈↓ α,␈ββ=␈↓␈↓ α,The␈αfirst␈αproblem␈αis␈αhow␈αto␈αrepresent␈αan␈αobject.␈αThe␈αposition␈αof␈αthe␈α
arm␈α
is␈α
represented␈α
by␈α
a␈↓ α,
␈↓ α,␈ββ`␈↓␈↓ α,frame␈αvariable.␈αIt␈αis␈αreasonable␈αto␈αextend␈αthis␈α
concept␈α
to␈α
represent␈α
any␈α
object.␈α
The␈α
limitation␈↓ α,
␈↓ α,␈β∧β␈↓␈↓ α,with␈αthis␈αis␈αthat␈αneither␈αthe␈αarm␈αnor␈αany␈αother␈αordinary␈αobject␈αcan␈αbe␈αcompletely␈αdescribed␈↓ α,
␈↓ α,␈β∧&␈↓␈↓ α,by␈αone␈αposition␈αand␈αone␈αorientation␈αvector.␈αWhat␈αwe␈αmust␈αmean␈αwhen␈αwe␈αsay␈αthe␈αarm␈αis␈αat␈↓ α,
␈↓ α,␈β∧I␈↓␈↓ α,some␈α∂frame␈α∂is␈α∂that␈α∞a␈α∞particular␈α∞point␈α∞on␈α∞the␈α∞arm␈α∞(the␈α∞one␈α∞between␈α∞the␈α∞fingers)␈α∞is␈α∞at␈α∞that␈↓ α,
␈↓ α,␈β∧l␈↓␈↓ α,position,␈αand␈αthe␈αlast␈αjoint␈αof␈αthe␈αarm␈αis␈αoriented␈αaccording␈αto␈αthat␈αorientation.␈αLikewise,␈αwe␈↓ α,
␈↓ α,␈β¬∂␈↓␈↓ α,shall␈αassume␈αthat␈αthe␈αuser␈αhas␈αassociated␈αsome␈αlocal␈αcoordinate␈αsystem␈αwith␈αeach␈αobject.␈αIt␈αis␈↓ α,
␈↓ α,␈β¬2␈↓␈↓ α,the␈α∞position␈α∞and␈α∞orientation␈α
of␈α
that␈α
coordinate␈α
system␈α
that␈α
is␈α
meant␈α
by␈α
the␈α
frame␈α
variable␈↓ α,
␈↓ α,␈β¬U␈↓␈↓ α,representing␈αthe␈αobject.␈αOften␈αenough␈αit␈αis␈αnot␈αthe␈αlocation␈αof␈αthat␈α
coordinate␈α
system␈α
that␈α
we␈↓ α,
␈↓ α,␈β¬x␈↓␈↓ α,would␈α∞like␈α
to␈α
move␈α
elsewhere,␈α
but␈α
rather␈α
some␈α
point␈α
describable␈α
in␈α
that␈α
coordinate␈α
system.␈↓ α,
␈↓ α,␈βε≠␈↓␈↓ α,An␈α
example␈α
is␈αto␈αset␈αa␈αblock␈αon␈αthe␈αtable.␈αIf␈αthe␈αcoordinate␈αsystem␈αis␈αattached␈αto␈αthe␈αupper␈↓ α,
␈↓ α,␈βε>␈↓␈↓ α,corner␈α∞of␈α∞the␈α∞block,␈α∞we␈α∞really␈α∞may␈α∞want␈α∞the␈α∞bottom␈α∞of␈α∞the␈α
block,␈α
but␈α
not␈α
the␈α
origin␈α
of␈α
its␈↓ α,
␈↓ α,␈βεa␈↓␈↓ α,local␈αcoordinate␈αsystem,␈αto␈αend␈αup␈αon␈αthe␈αtable.␈α
This␈α
leads␈α
to␈α
the␈α
simple␈α
generalization␈α
of␈α
the␈↓ α,
␈↓ α,␈βπ∧␈↓␈↓ α,affixment:␈αThe␈αblock␈αis␈αaffixed␈αto␈αthe␈αarm,␈αand␈αthe␈αspecial␈αpoint␈αin␈αthe␈αbottom␈α(describable␈↓ α,
␈↓ α,␈βπ'␈↓␈↓ α,as␈α⊂a␈α∂location␈α∂and␈α∂orientation␈α∂in␈α∂the␈α∂block␈α∂coordinate␈α∂system)␈α∂is␈α∂affixed␈α∂to␈α∂the␈α∂block.␈α∂We␈↓ α,
␈↓ α,␈βπJ␈↓␈↓ α,really␈α
wish␈α
to␈α
move␈α
the␈α
latter␈α
to␈α
the␈α
table.␈↓ α,
␈↓ α,␈βπm␈↓␈↓ α,
␈↓ α,␈βλ⊂␈↓␈↓ α,The␈αnext␈αproblem␈αis␈αhow␈αto␈αrepresent␈αthe␈αaffixment␈αof␈αone␈αobject␈α(say␈αa␈αblock)␈αto␈αa␈αsecond␈↓ α,
␈↓ α,␈βλ3␈↓␈↓ α,(say␈α∞an␈α∞arm).␈α∞It␈α∞is␈α∞clear␈α∞that␈α∞we␈α∞need␈α∞some␈α∞transform␈α∞to␈α∞associate␈α∞the␈α∞two.␈α∞The␈α∞block␈α∞can␈↓ α,
␈↓ α,␈βλV␈↓␈↓ α,always␈αbe␈αfound␈αby␈αapplication␈αof␈αthe␈αtransform␈α
to␈α
the␈α
current␈α
frame␈α
of␈α
the␈α
arm.␈α
Should␈α
the␈↓ α,
␈↓ α,␈βλy␈↓␈↓ α,user␈αhave␈αaccess␈αto␈α
this␈α
transform,␈α
or␈α
should␈α
it␈α
be␈α
kept␈α
invisible␈α
to␈α
him?␈α
What␈α
happens␈α
if␈α
he␈↓ α,
␈↓ α,␈β ≤␈↓␈↓ α,states␈α∞that␈α∞the␈α∞block␈α∞has␈α∞moved?␈α∞Ought␈α∞this␈α∞to␈α∞change␈α∞the␈α∞transform,␈α∞or␈α∞the␈α
value␈α
of␈α
the␈↓ α,
␈↓ α,␈β ?␈↓␈↓ α,arm's␈α∂frame?␈α∂One␈α∂might␈α∂be␈α∞hesitant␈α∞to␈α∞accept␈α∞the␈α∞latter␈α∞(how␈α∞could␈α∞the␈α∞arm␈α∞have␈α∞moved␈↓ α,
␈↓ α,␈β b␈↓␈↓ α,without␈αour␈αknowledge?),␈αbut␈αif␈α
affixment␈α
is␈α
to␈α
be␈α
generally␈α
allowed␈α
between␈α
any␈α
two␈α
objects,␈↓ α,
␈↓ α,␈β
¬␈↓␈↓ α,we␈α⊂accept␈α⊂that␈α⊂perhaps␈α⊂the␈α⊂second␈α⊂one␈α⊂has␈α⊂been␈α⊂moved␈α⊂if␈α∂the␈α∂first␈α∂is␈α∂observed␈α∂to␈α∂have␈↓ α,
␈↓ α,␈β
(␈↓␈↓ α,moved.␈↓ α,
␈↓ α,␈β
K␈↓␈↓ α,
␈↓ α,␈β
n␈↓␈↓ α,The␈αsolution␈αthat␈αwe␈αhave␈αadopted␈αis␈αto␈αallow␈αtwo␈αflavors␈αof␈αaffixment,␈αtermed␈α"rigid"␈αand␈↓ α,
␈↓ α,␈β⊃␈↓␈↓ α,"nonrigid".␈α∞The␈α
former␈α
is␈α
symmetric.␈α
If␈α
either␈α
"sister"␈α
object␈α
has␈α
moved,␈α
it␈α
is␈α
assumed␈α
that␈↓ α,
␈↓ α,␈β4␈↓␈↓ α,the␈α∩other␈α∩has␈α∩moved␈α∩as␈α∩well.␈α∩The␈α∩latter␈α∩is␈α⊃non-symmetric.␈α⊃There␈α⊃is␈α⊃a␈α⊃"mother"␈α⊃and␈α⊃a␈↓ α,
␈↓ α,␈βW␈↓␈↓ α,"daughter"␈αobject.␈αIf␈αthe␈α
mother␈α
moves,␈α
so␈α
does␈α
the␈α
daughter,␈α
but␈α
if␈α
the␈α
daughter␈α
moves,␈α
it␈α
is␈↓ α,
␈↓ α,␈βz␈↓␈↓ α,not␈α
assumed␈α
that␈α
the␈αmother␈αdoes␈αalso.␈αThe␈αquestion␈αof␈αthe␈αavailability␈αof␈αthe␈αtransform␈αis␈↓ α,
␈↓ α,␈β≥␈↓␈↓ α,somewhat␈α
puzzling.␈α
If␈α
we␈α
allow␈α
the␈α
user␈α
to␈α
modify␈α
the␈α
transform␈αlinking␈αtwo␈αsister␈αobjects,␈↓ α,
␈↓ α,␈β@␈↓␈↓ α,what␈α∂shall␈α∂we␈α∂say␈α∂about␈α∂the␈α∂new␈α∂locations␈α∞of␈α∞the␈α∞objects?␈α∞Which␈α∞one␈α∞has␈α∞moved?␈α∞In␈α∞the␈↓ α,
␈↓ α,␈βc␈↓␈↓ α,nonrigid␈α
case,␈α
we␈α
are␈α
willing␈α
to␈α
allow␈α
the␈α
daughter␈α
to␈α
move,␈α
so␈α
the␈α
question␈α
is␈α
not␈α
as␈α
serious.␈↓ α,
␈↓ α,␈β
ε␈↓␈↓ α,
␈↓ α,␈β
)␈↓␈↓ α,The␈α∀question␈α∀of␈α∪implementation␈α∪also␈α∪arises.␈α∪What␈α∪sort␈α∪of␈α∪data␈α∪structure␈α∪is␈α∪needed␈α∪to␈↓ α,
␈↓ α,␈β
L␈↓␈↓ α,represent␈α⊃the␈α⊃various␈α⊃flavors␈α⊃of␈α⊃affixment?␈α⊃This␈α⊃was␈α⊃not␈α⊃an␈α⊃easy␈α⊃problem,␈α⊃because␈α⊃the␈↓ α,
␈↓ α,␈β
o␈↓␈↓ α,save/restore␈α∞cells␈α∞of␈α∞WAVE␈α∞were␈α∞not␈α∞easily␈α∞generalizable,␈α∞especially␈α∞to␈α∞the␈α∞rigid␈α∞case.␈α∞The␈↓ α,
␈↓ α,␈β∞∩␈↓␈↓ α,outcome␈α
of␈α
our␈α
work␈α
was␈α
what␈α
is␈α
termed␈α
"graph␈α
structure",␈α
because␈α
it␈αconnects␈αthe␈α"nodes"␈↓ α,
␈↓ α,␈β∞5␈↓␈↓ α,representing␈α∃objects␈α∃by␈α∃links␈α∃that␈α∃represent␈α∃the␈α∃affixments.␈α∃The␈α∃actual␈α∃structure␈α∀and␈↓ α,
␈↓ α,␈β∞X␈↓␈↓ α,algorithms␈αare␈αdescribed␈αelsewhere.␈αThe␈αstructure␈αallows␈α
objects␈α
to␈α
be␈α
affixed␈α
to␈α
and␈α
defixed␈↓ α,
␈↓ α,␈β∞{␈↓␈↓ α,from␈α
each␈α
other,␈α
either␈α
in␈α
a␈α
rigid␈α
or␈α
a␈α
nonrigid␈α
sense.␈↓ α,
␈↓ α,␈β∂≡␈↓␈↓ α,
␈↓ C␈β↓␈↓α[5]
␈↓ α,␈β↓H␈↓␈↓ α,Graph␈α
structure␈α
also␈α
has␈αsome␈αvery␈αuseful␈αproperties␈αwhich␈αwere␈αnot␈αoriginally␈αincluded␈αin␈↓ α,
␈↓ α,␈β↓k␈↓␈↓ α,their␈α↔motivation.␈α↔It␈α⊗is␈α⊗possible␈α⊗to␈α⊗specify␈α⊗side-effects␈α⊗of␈α⊗value␈α⊗assignment,␈α⊗including␈↓ α,
␈↓ α,␈βα∞␈↓␈↓ α,modifying␈α∞the␈α∞value␈α∞of␈α∞any␈α∞other␈α∞variable.␈α∞It␈α∞is␈α∞possible␈α∞not␈α∞only␈α∞to␈α∞specify␈α
what␈α
is␈α
to␈α
be␈↓ α,
␈↓ α,␈βα1␈↓␈↓ α,moved␈α
as␈α
an␈α
object␈α
instead␈α
of␈α
an␈α
arm,␈α
but␈α
the␈α
destination␈α
can␈α
also␈αbe␈αrelated␈αto␈αan␈αobject␈↓ α,
␈↓ α,␈βαT␈↓␈↓ α,and␈α∞the␈α∞motion␈α∞will␈α∞go␈α∞to␈α∞the␈α∞right␈α∞spot,␈α∞even␈α∞if␈α∞that␈α∞object␈α∞is␈α∞affixed␈α∞to␈α∞some␈α∞other␈α
one␈↓ α,
␈↓ α,␈βαw␈↓␈↓ α,which␈α
has␈αmoved.␈αThere␈αis␈αeven␈αa␈αfoothold␈αavailable␈αfor␈αclimbing␈αthe␈αpeak␈αrepresented␈αby␈↓ α,
␈↓ α,␈ββ~␈↓␈↓ α,continually␈α
moving␈α
objects,␈α
those␈α
affixed␈α
somehow␈α
to␈α
a␈α
time␈α
variable.␈↓ α,
␈↓ α,␈ββ=␈↓␈↓ α,
␈↓ α,␈ββ`␈↓␈↓ α,Graph␈α⊃structure␈α⊃is␈α⊃not␈α⊃without␈α⊃its␈α⊃headaches.␈α⊃It␈α⊂is␈α⊂a␈α⊂complicated␈α⊂mechanism␈α⊂which␈α⊂has␈↓ α,
␈↓ α,␈β∧β␈↓␈↓ α,caused␈α⊃many␈α⊃fascinating␈α⊃implementation␈α⊃problems.␈α⊂For␈α⊂one␈α⊂thing,␈α⊂it␈α⊂does␈α⊂not␈α⊂follow␈α⊂the␈↓ α,
␈↓ α,␈β∧&␈↓␈↓ α,block␈α
structure␈α
which␈α
governs␈α
all␈α
variables.␈α
It␈α
causes␈α
certain␈α
problems␈αduring␈αthe␈αplanning␈↓ α,
␈↓ α,␈β∧I␈↓␈↓ α,phase␈α∂since␈α∂all␈α∂destinations␈α∂must␈α∂be␈α∂available␈α∂for␈α∞the␈α∞proper␈α∞calculation␈α∞of␈α∞trajectories.␈α∞It␈↓ α,
␈↓ α,␈β∧l␈↓␈↓ α,must␈α
be␈α
accessible␈α
during␈α
runtime␈α
in␈α
order␈α
to␈αmodify␈αa␈αtrajectory␈αthat␈αhas␈αas␈αa␈αdestination␈↓ α,
␈↓ α,␈β¬∂␈↓␈↓ α,some␈α∂variable␈α∂whose␈α∂value␈α∂has␈α∂changed␈α∂due␈α∂to␈α∂motion␈α∂of␈α∂its␈α∞sister␈α∞or␈α∞mother.␈α∞Chains␈α∞of␈↓ α,
␈↓ α,␈β¬2␈↓␈↓ α,affixments␈α∃require␈α∃special␈α∃care,␈α∃both␈α∃in␈α∀evaluation␈α∀of␈α∀values␈α∀and␈α∀in␈α∀removal␈α∀of␈α∀the␈↓ α,
␈↓ α,␈β¬U␈↓␈↓ α,affixment␈α
link.␈↓ α,
␈↓ α,␈β¬x␈↓␈↓ α,
␈↓ α,␈βε≠␈↓␈↓ α,With␈αall␈αthe␈αpower␈α
of␈α
the␈α
graph␈α
structure,␈α
one␈α
might␈α
hope␈α
that␈α
it␈α
would␈α
suffice␈α
for␈α
modeling␈↓ α,
␈↓ α,␈βε>␈↓␈↓ α,arbitrary␈α∂conglomerations␈α∂of␈α∂objects,␈α∂such␈α∂as␈α∂those␈α∂that␈α∂might␈α∂arise␈α∞during␈α∞assembly␈α∞of␈α∞a␈↓ α,
␈↓ α,␈βεa␈↓␈↓ α,complex␈αpiece␈αof␈αmachinery.␈αUnfortunately,␈αthis␈αis␈αnot␈αthe␈αcase.␈αSome␈αreal-world␈αaffixments␈↓ α,
␈↓ α,␈βπ∧␈↓␈↓ α,are␈αneither␈αrigid␈αnor␈αnonrigid␈αin␈αthe␈αway␈αwe␈αhave␈αspecified.␈αFor␈αexample,␈αtwo␈αrods␈αattached␈↓ α,
␈↓ α,␈βπ'␈↓␈↓ α,to␈α∂each␈α∂other␈α∂at␈α∂a␈α∞pivot␈α∞joint␈α∞cannot␈α∞be␈α∞said␈α∞to␈α∞have␈α∞either␈α∞relationship.␈α∞It␈α∞is␈α∞possible␈α∞to␈↓ α,
␈↓ α,␈βπJ␈↓␈↓ α,move␈α∂one␈α∂without␈α∂moving␈α∂the␈α∂other␈α∂as␈α∂long␈α∞as␈α∞the␈α∞joint␈α∞is␈α∞loose␈α∞enough␈α∞and␈α∞the␈α∞motion␈↓ α,
␈↓ α,␈βπm␈↓␈↓ α,leaves␈αthe␈αpivot␈αlocation␈αunchanged.␈αIn␈αthose␈αcases␈αwhere␈αthe␈αpivot␈αposition␈αis␈αchanged,␈αit␈αis␈↓ α,
␈↓ α,␈βλ⊂␈↓␈↓ α,in␈αgeneral␈αnot␈αpossible␈αto␈αcalculate␈αthe␈αnew␈αposition␈αof␈αthe␈αother␈αobject,␈α
unless␈α
the␈α
new␈α
pivot␈↓ α,
␈↓ α,␈βλ3␈↓␈↓ α,angle␈αis␈αsomehow␈αavailable.␈α
This␈α
problem␈α
generalizes␈α
to␈α
the␈α
case␈α
of␈α
limp␈α
objects,␈α
like␈α
rope␈α
or␈↓ α,
␈↓ α,␈βλV␈↓␈↓ α,cloth.␈αEven␈αhumans␈αmust␈αlearn␈αthe␈αproperties␈αof␈αthese␈αobjects␈αthrough␈αlong␈αexperience,␈αand␈↓ α,
␈↓ α,␈βλy␈↓␈↓ α,often␈α∞manipulate␈α∞such␈α∞objects␈α∞through␈α∞techniques␈α∞of␈α∞iterative␈α∞improvement.␈α∞(For␈α∞example,␈↓ α,
␈↓ α,␈β ≤␈↓␈↓ α,folding␈αa␈αnapkin␈αor␈αputting␈αa␈α
blanket␈α
on␈α
a␈α
bed.)␈α
In␈α
this␈α
sense,␈α
any␈α
attempt␈α
to␈α
make␈α
a␈α
general␈↓ α,
␈↓ α,␈β ?␈↓␈↓ α,model␈αof␈αobjects␈αis␈αapt␈αto␈αyield␈αvery␈αcomplicated␈αresults.␈αAL␈αis␈αnowhere␈αnear␈αsuch␈αa␈αgeneral␈↓ α,
␈↓ α,␈β b␈↓␈↓ α,solution.␈↓ α,
␈↓ α,␈β
¬␈↓␈↓ α,
␈↓ α,␈β
(␈↓␈↓ α,
␈↓ α,␈β
K␈↓␈↓α␈↓ ¬|GENTLE MOTIONS␈↓ α,
␈↓ α,␈β
n␈↓α␈↓ α,
␈↓ α,␈β⊃␈↓α␈↓ α,␈↓A␈α∞second␈α∞major␈α∞purpose␈α
of␈α
arm␈α
control␈α
might␈α
be␈α
termed␈α
"gentle"␈α
motion.␈α
It␈α
is␈α
intended␈α
to␈↓ α,
␈↓ α,␈β4␈↓␈↓ α,position␈αthe␈αarm␈αin␈αproximity␈αto␈αsome␈αresisting␈αobstacle␈αwithout␈αattempting␈αto␈αgo␈αthrough␈αit.␈↓ α,
␈↓ α,␈βW␈↓␈↓ α,This␈αcase␈αarises␈αmost␈αoften␈α
in␈α
an␈α
attempt␈α
to␈α
determine␈α
locations␈α
of␈α
objects␈α
by␈α
feeling␈α
them.␈α
If␈↓ α,
␈↓ α,␈βz␈↓␈↓ α,the␈αlocation␈αof␈αan␈αobject␈αis␈αknown␈αroughly,␈αsome␈αsort␈αof␈αsearch␈αmay␈αresult␈αin␈αthe␈αarm␈αbeing␈↓ α,
␈↓ α,␈β≥␈↓␈↓ α,positioned␈αin␈αa␈αknown␈αconfiguration␈αwith␈αrespect␈αto␈αthe␈αobject.␈αIf␈αthe␈αlocation␈αof␈αthe␈αarm␈αis␈↓ α,
␈↓ α,␈β@␈↓␈↓ α,known,␈α
then␈α
so␈α
is␈α
the␈α
location␈α
of␈α
the␈α
object.␈↓ α,
␈↓ α,␈βc␈↓␈↓ α,
␈↓ α,␈β
ε␈↓␈↓↓␈↓ ε(Velocity control␈↓ α,
␈↓ α,␈β
)␈↓↓␈↓ α,
␈↓ α,␈β
L␈↓↓␈↓␈↓ α,Gentle␈α∂motion␈α∂requires␈α∂several␈α∂capabilites.␈α∂The␈α∂first␈α∂is␈α∂that␈α∂the␈α∂speed␈α∂of␈α∂motion␈α∂must␈α∞be␈↓ α,
␈↓ α,␈β
o␈↓␈↓ α,under␈α
the␈α
control␈αof␈αthe␈αuser.␈αHow␈αis␈αhe␈αto␈αspecify␈αthe␈αspeed?␈αBy␈αvelocity␈αbounds,␈αor␈αas␈αan␈↓ α,
␈↓ α,␈β∞∩␈↓␈↓ α,overall␈α∞constant␈α∞velocity?␈α∞Should␈α∞these␈α∞be␈α∞with␈α∞respect␈α∞to␈α∞joint␈α∞space,␈α∞or␈α
real␈α
space?␈α
What␈↓ α,
␈↓ α,␈β∞5␈↓␈↓ α,one␈αwould␈αideally␈αlike␈αwould␈αbe␈αto␈αeasily␈αstate␈αany␈αconstraint␈αon␈αthe␈αspeed,␈αeither␈αin␈αjoint␈αor␈↓ α,
␈↓ α,␈β∞X␈↓␈↓ α,real␈αspace,␈αeither␈αa␈αmaximum␈αor␈αa␈αminimum.␈αThen␈αconstant-speed␈αmotion␈αwould␈αbe␈αeasy␈αto␈↓ α,
␈↓ α,␈β∞{␈↓␈↓ α,stipulate.␈α
Even␈α
harmonic␈α
motion␈α
would␈α
be␈α
possible,␈α
if␈α
the␈α
constraints␈α
were␈α
allowed␈α
to␈αvary␈↓ α,
␈↓ α,␈β∂≡␈↓␈↓ α,with␈αtime.␈αSuch␈αgenerality,␈αhowever,␈αposes␈αseveral␈αthreats.␈αIt␈αis␈αnot␈αgood␈αto␈αallow␈αthe␈αuser␈αto␈↓ α,
␈↓ D␈β↓␈↓α[6]
␈↓ α,␈β↓H␈↓␈↓ α,cause␈α∞the␈α∞arm␈α∞to␈α∞become␈α∞instable␈α∞(just␈α∞as␈α∞a␈α∞human␈α∞is␈α
ordinarily␈α
unable␈α
to␈α
induce␈α
a␈α
fit␈α
of␈↓ α,
␈↓ α,␈β↓k␈↓␈↓ α,violent␈α
trembling␈αin␈αhis␈αown␈αarm).␈αThe␈αprevious␈αdecision␈αto␈αrepresent␈αmotions␈αby␈αmeans␈αof␈↓ α,
␈↓ α,␈βα∞␈↓␈↓ α,low-order␈α⊃polynomials␈α⊃in␈α⊃joint␈α⊃space␈α⊃means␈α⊃that␈α⊃it␈α⊃is␈α⊃very␈α⊂difficult␈α⊂to␈α⊂translate␈α⊂velocity␈↓ α,
␈↓ α,␈βα1␈↓␈↓ α,upper/lower␈αbounds␈αfrom␈α
real␈α
space␈α
into␈α
constraints␈α
on␈α
the␈α
polynomials.␈α
The␈α
implementation␈↓ α,
␈↓ α,␈βαT␈↓␈↓ α,of␈α∂the␈α∂trajectory␈α∂calculator␈α∂would␈α∂become␈α∂far␈α∂more␈α∂complex,␈α∂and␈α∂the␈α∞algorithm␈α∞employed␈↓ α,
␈↓ α,␈βαw␈↓␈↓ α,would␈α⊂very␈α⊂likely␈α⊂be␈α⊂iterative.␈α⊂And␈α∂in␈α∂the␈α∂final␈α∂analysis,␈α∂such␈α∂a␈α∂general␈α∂capability␈α∂seems␈↓ α,
␈↓ α,␈ββ~␈↓␈↓ α,hardly␈α∞necessary␈α∞in␈α
the␈α
specific␈α
uses␈α
to␈α
which␈α
it␈α
is␈α
to␈α
be␈α
put.␈α
"Move␈α
slowly",␈α
in␈α
fact,␈α
seems␈↓ α,
␈↓ α,␈ββ=␈↓␈↓ α,often␈α
to␈α
be␈α
a␈α
perfectly␈α
adequate␈α
specification.␈↓ α,
␈↓ α,␈ββ`␈↓␈↓ α,
␈↓ α,␈β∧β␈↓␈↓ α,The␈αtechnique␈αused␈αin␈αWAVE␈αis␈αto␈αallow␈αthe␈αtotal␈αtime␈αof␈αeach␈αmotion␈αto␈αbe␈αspecified.␈αThe␈↓ α,
␈↓ α,␈β∧&␈↓␈↓ α,duration␈αcan␈αbe␈αdefualted␈αto␈αsome␈α"optimal"␈αtime␈αthat␈αthe␈αsystem␈αwill␈αdetermine␈αon␈α
the␈α
basis␈↓ α,
␈↓ α,␈β∧I␈↓␈↓ α,of␈αknown␈αjoint␈αcapabilities␈αand␈αthe␈αdistance␈αthat␈αeach␈αmust␈αtravel.␈αAL␈αuses␈αexactly␈αthe␈αsame␈↓ α,
␈↓ α,␈β∧l␈↓␈↓ α,method,␈αwith␈αslight␈αgeneralization.␈αIt␈αis␈αpossible␈αto␈αspecify␈αintermediate␈αpoints␈αin␈αthe␈αmotion.␈↓ α,
␈↓ α,␈β¬∂␈↓␈↓ α,For␈α∂every␈α∂segment␈α∂of␈α∂the␈α∂total␈α∂motion,␈α∂AL␈α∂allows␈α∂the␈α∂user␈α∂to␈α∂say␈α∂how␈α∂long␈α∞that␈α∞segment␈↓ α,
␈↓ α,␈β¬2␈↓␈↓ α,should␈αtake,␈αeither␈αas␈αa␈αlower,␈αan␈αupper,␈α
or␈α
an␈α
absolute␈α
bound.␈α
The␈α
total␈α
motion␈α
may␈α
also␈α
be␈↓ α,
␈↓ α,␈β¬U␈↓␈↓ α,so␈α⊂bounded.␈α⊂AL␈α⊂complains␈α⊂if␈α⊂it␈α⊂beleives␈α⊂that␈α⊂the␈α⊂arm␈α⊂is␈α⊂not␈α∂capable␈α∂of␈α∂traveling␈α∂at␈α∂the␈↓ α,
␈↓ α,␈β¬x␈↓␈↓ α,velocities␈α⊂thus␈α⊂specified,␈α⊂but␈α⊂it␈α⊂prepares␈α⊂the␈α⊂trajectory␈α∂anyway.␈α∂This␈α∂does␈α∂not␈α∂violate␈α∂the␈↓ α,
␈↓ α,␈βε≠␈↓␈↓ α,philosophy␈αthat␈αthe␈αuser␈αshould␈αnot␈αbe␈α
able␈α
to␈α
render␈α
the␈α
arm␈α
instable,␈α
since␈α
the␈α
trajectory␈α
is␈↓ α,
␈↓ α,␈βε>␈↓␈↓ α,still␈αa␈αsmooth␈αone.␈αIf␈αthe␈αarm␈αcontrol␈αcode␈αis␈αunable␈αto␈αforce␈αthe␈αarm␈α
to␈α
follow␈α
the␈α
trajectory,␈↓ α,
␈↓ α,␈βεa␈↓␈↓ α,the␈α⊂arm␈α⊂will␈α⊂be␈α⊂safely␈α⊂brought␈α∂to␈α∂rest.␈α∂AL␈α∂also␈α∂complains,␈α∂of␈α∂course,␈α∂if␈α∂the␈α∂various␈α∂time␈↓ α,
␈↓ α,␈βπ∧␈↓␈↓ α,constraints␈α∂for␈α∞individual␈α∞segments␈α∞are␈α∞inconsistent␈α∞with␈α∞the␈α∞time␈α∞constraint␈α∞for␈α∞the␈α∞entire␈↓ α,
␈↓ α,␈βπ'␈↓␈↓ α,motion.␈α∪The␈α∪other␈α∪generalization␈α∪of␈α∩WAVE's␈α∩velocity␈α∩control␈α∩is␈α∩that␈α∩the␈α∩AL␈α∩user␈α∩can␈↓ α,
␈↓ α,␈βπJ␈↓␈↓ α,stipulate␈α∀an␈α∀exact,␈α∀real-world␈α∀velocity␈α∪at␈α∪the␈α∪intermediate␈α∪points.␈α∪In␈α∪WAVE,␈α∪only␈α∪the␈↓ α,
␈↓ α,␈βπm␈↓␈↓ α,start/finish␈α⊂points␈α⊂are␈α⊂velocity␈α∂constrained␈α∂(to␈α∂zero␈α∂velocity).␈α∂This␈α∂velocity␈α∂applies␈α∂only␈α∂to␈↓ α,
␈↓ α,␈βλ⊂␈↓␈↓ α,position,␈α
not␈α
to␈α
orientation.␈↓ α,
␈↓ α,␈βλ3␈↓␈↓ α,
␈↓ α,␈βλV␈↓␈↓ α,The␈αdecision␈αoutlined␈αabove␈αhas␈αcertain␈αdefects.␈αFor␈αone,␈αit␈αdoes␈αnot␈αallow␈αthe␈αuser␈αto␈αinsert␈↓ α,
␈↓ α,␈βλy␈↓␈↓ α,a␈α∩variable␈α∩in␈α∩the␈α∩time␈α∩constraint.␈α∩That␈α∩means␈α∩that␈α∩a␈α∩motion,␈α⊃once␈α⊃planned,␈α⊃cannot␈α⊃be␈↓ α,
␈↓ α,␈β ≤␈↓␈↓ α,executed␈αat␈αvarious␈αspeeds.␈αFurthermore,␈αthe␈αsystem-calculated␈αoptimal␈αtime␈αis␈αnot␈αavailable␈↓ α,
␈↓ α,␈β ?␈↓␈↓ α,to␈αthe␈αuser.␈αHe␈αcannot␈αsay␈α"take␈αtwice␈αas␈αlong␈αas␈αyou␈αthink␈αyou␈αneed".␈αThis␈αlimitation␈αis␈αnot␈↓ α,
␈↓ α,␈β b␈↓␈↓ α,inherent␈αin␈αthe␈αdecision,␈αit␈αis␈αrather␈αa␈αdetail␈αof␈αthe␈αparticular␈αimplementation.␈αIf␈αa␈αneed␈αfor␈↓ α,
␈↓ α,␈β
¬␈↓␈↓ α,such␈αspecifications␈αis␈αdiscovered,␈αit␈αwill␈αbe␈αeasy␈αto␈αimplement␈αit.␈αAnother␈αdefect␈αis␈α
just␈α
that␈α
it␈↓ α,
␈↓ α,␈β
(␈↓␈↓ α,is␈αnot␈αa␈αgeneral␈αsolution.␈αIt␈αsimply␈αdoes␈αnot␈αallow␈αthe␈αuser␈αto␈αsay␈αthat␈αhe␈αwants␈αa␈αmotion␈αto␈↓ α,
␈↓ α,␈β
K␈↓␈↓ α,have␈α∩a␈α∩peak␈α∩velocity␈α∩of␈α∩10␈α∩centimeters␈α∩per␈α⊃second,␈α⊃for␈α⊃example.␈α⊃Even␈α⊃though␈α⊃absolute␈↓ α,
␈↓ α,␈β
n␈↓␈↓ α,velocities␈αmay␈α
be␈α
specified␈α
at␈α
given␈α
points,␈α
acceleratins␈α
may␈α
not␈α
be␈α
so␈α
specified␈α
(although␈α
this␈↓ α,
␈↓ α,␈β⊃␈↓␈↓ α,turns␈α⊃out␈α⊃also␈α⊃to␈α⊃be␈α⊃an␈α⊃implementation␈α⊃detail).␈α⊂The␈α⊂coupling␈α⊂between␈α⊂velocity␈α⊂and␈α⊂time␈↓ α,
␈↓ α,␈β4␈↓␈↓ α,specifications␈α∞is␈α∞not␈α∞well␈α∞thought␈α∞out␈α∞in␈α∞the␈α∞trajectory␈α∞planner.␈α∞It␈α∞is␈α∞quite␈α∞possible␈α∞for␈α∞the␈↓ α,
␈↓ α,␈βW␈↓␈↓ α,user␈α∃to␈α∀accidentally␈α∀specify␈α∀wild␈α∀trajectories␈α∀(that␈α∀is,␈α∀trajectories␈α∀with␈α∀bad␈α∀"overshoot"␈↓ α,
␈↓ α,␈βz␈↓␈↓ α,properties)␈α∂by␈α∂combining␈α∂these␈α∂forms.␈α∂Further␈α∂experience␈α∂with␈α∂AL␈α∂will␈α∞help␈α∞to␈α∞determine␈↓ α,
␈↓ α,␈β≥␈↓␈↓ α,whether␈α
the␈α
current,␈α
limited␈α
methods␈α
need␈α
to␈α
be␈α
made␈α
more␈α
sophisticated.␈↓ α,
␈↓ α,␈β@␈↓␈↓ α,
␈↓ α,␈βc␈↓␈↓↓␈↓ ε'Force Feedback␈↓ α,
␈↓ α,␈β
ε␈↓↓␈↓ α,
␈↓ α,␈β
)␈↓↓␈↓␈↓ α,Gentle␈αmotion␈αrequires␈αmore␈αthan␈αvelocity␈αcontrol.␈αSay␈αthat␈αthe␈αuser␈αwishes␈αto␈α
move␈α
the␈α
arm␈↓ α,
␈↓ α,␈β
L␈↓␈↓ α,down␈αuntil␈αit␈αrests␈αon␈αa␈αblock␈αof␈αunknown␈αheight.␈αMoving␈αslowly␈αdoes␈αnot␈αsuffice,␈αsince␈αthe␈↓ α,
␈↓ α,␈β
o␈↓␈↓ α,arm␈αmay␈αthen␈αtry␈αto␈αslowly␈αforce␈αitself␈αinto␈α
the␈α
block.␈α
This␈α
situation␈α
arises␈α
since␈α
there␈α
is␈α
no␈α
␈↓↓a␈↓ α,
␈↓ α,␈β∞∩␈↓↓␈↓ α,priori␈↓␈α
information␈α
on␈α
how␈αfar␈αthe␈αarm␈αshould␈αmove.␈αOnce␈αcould␈αmerely␈αwait␈αuntil␈αthe␈αarm␈↓ α,
␈↓ α,␈β∞5␈↓␈↓ α,control␈α
code␈α
notices␈α
excessive␈α
force␈αon␈αthe␈αarm␈αand␈αcauses␈αit␈αto␈αstop,␈αbut␈αthis␈αaction␈αshould␈↓ α,
␈↓ α,␈β∞X␈↓␈↓ α,be␈α
treated␈α
as␈α
a␈α
failsafe␈α
mechanism,␈α
not␈α
as␈α
a␈α
technique␈α
for␈α
gentle␈α
motion.␈↓ α,
␈↓ α,␈β∞{␈↓␈↓ α,
␈↓ α,␈β∂≡␈↓␈↓ α,What␈α
is␈α
required␈α
is␈α
feedback␈α
which␈αthe␈αuser␈αcan␈αemploy␈αto␈αdecide␈αif␈αthe␈αmotion␈αshould␈αbe␈↓ α,
␈↓ D␈β↓␈↓α[7]
␈↓ α,␈β↓H␈↓␈↓ α,terminated.␈αThis␈αfeedback␈αshould␈αbe␈αgenerally␈αavailable␈αduring␈αthe␈αcourse␈α
of␈α
a␈α
motion.␈α
This␈↓ α,
␈↓ α,␈β↓k␈↓␈↓ α,raises␈α∃many␈α∃questions.␈α∃What␈α∃sort␈α∃of␈α∃feedback␈α∃is␈α∃needed?␈α∃What␈α∃sort␈α∃can␈α∀actually␈α∀be␈↓ α,
␈↓ α,␈βα∞␈↓␈↓ α,implemented?␈α∞How␈α∞can␈α∞the␈α∞program␈α∞be␈α∞made␈α∞aware␈α∞of␈α∞the␈α∞current␈α∞feedback␈α
values?␈α
How␈↓ α,
␈↓ α,␈βα1␈↓␈↓ α,can␈α⊂it␈α∂act␈α∂simultaneouly␈α∂while␈α∂the␈α∂arm␈α∂is␈α∂in␈α∂motion␈α∂to␈α∂take␈α∂some␈α∂action?␈α∂What␈α∂range␈α∂of␈↓ α,
␈↓ α,␈βαT␈↓␈↓ α,actions␈α
should␈α
be␈α
allowed?␈↓ α,
␈↓ α,␈βαw␈↓␈↓ α,
␈↓ α,␈ββ~␈↓␈↓ α,The␈α∞WAVE␈α∞system␈α∞allowed␈α∞motions␈α∞to␈α∞have␈α∞an␈α∞associated␈α∞"stop␈α
on␈α
force"␈α
command.␈α
One␈↓ α,
␈↓ α,␈ββ=␈↓␈↓ α,specifies␈α
the␈α
direction␈α
and␈αmagnitude␈αof␈αthe␈αexpected␈αforce,␈αand␈αthe␈αarm␈αcontrol␈αcode␈αtakes␈↓ α,
␈↓ α,␈ββ`␈↓␈↓ α,this␈α∞request␈α∞into␈α∞account␈α∞during␈α∞the␈α∞motion.␈α∞It␈α
is␈α
translated␈α
into␈α
a␈α
combined␈α
constraint␈α
on␈↓ α,
␈↓ α,␈β∧β␈↓␈↓ α,the␈αforces␈αfor␈αeach␈αjoint,␈αand␈αeach␈αtime␈αthrough␈αthe␈αservo␈αloop␈α(WAVE␈αservos␈αall␈αthe␈α
joints␈↓ α,
␈↓ α,␈β∧&␈↓␈↓ α,at␈α∞one␈α∞go),␈α∞the␈α∞current␈α∞force␈α∞in␈α∞the␈α∞specified␈α∞direction␈α
is␈α
compared␈α
to␈α
the␈α
limit.␈α
When␈α
the␈↓ α,
␈↓ α,␈β∧I␈↓␈↓ α,limt␈αis␈αreached,␈αthe␈αarm␈α
is␈α
halted␈α
without␈α
any␈α
error␈α
message.␈α
Of␈α
course,␈α
if␈α
some␈α
joint␈α
exceeds␈↓ α,
␈↓ α,␈β∧l␈↓␈↓ α,its␈α
particular␈α
physical␈α
force␈α
limit␈α
before␈αthe␈αmotion␈αis␈αcompleted,␈αthe␈αarm␈αis␈αhalted␈αwith␈αan␈↓ α,
␈↓ α,␈β¬∂␈↓␈↓ α,error␈α
message.␈↓ α,
␈↓ α,␈β¬2␈↓␈↓ α,
␈↓ α,␈β¬U␈↓␈↓ α,Is␈αthis␈αtechnique␈αsufficient␈αfor␈αgentle␈αmotions?␈αExperience␈αhas␈α
shown␈α
that␈α
WAVE␈α
is␈α
capable␈↓ α,
␈↓ α,␈β¬x␈↓␈↓ α,of␈αmany␈αdelicate␈αmotions,␈αincluding␈αfeeling␈αif␈αthe␈αhand␈αis␈αholding␈αa␈αscrew␈αor␈αnot␈αby␈αtapping␈↓ α,
␈↓ α,␈βε≠␈↓␈↓ α,it␈αagainst␈αthe␈αtable.␈αHowever,␈α
WAVE␈α
cannot␈α
examine␈α
more␈α
than␈α
one␈α
force␈α
vector␈α
during␈α
the␈↓ α,
␈↓ α,␈βε>␈↓␈↓ α,course␈α⊃of␈α⊂a␈α⊂motion,␈α⊂nor␈α⊂can␈α⊂it␈α⊂stop␈α⊂on␈α⊂the␈α⊂absense␈α⊂of␈α⊂force.␈α⊂For␈α⊂example,␈α⊂to␈α⊂put␈α⊂a␈α⊂pin␈↓ α,
␈↓ α,␈βεa␈↓␈↓ α,through␈α
a␈α
layer␈α
of␈αcardboard␈αrequires␈αthat␈αthe␈αmotion␈αbe␈αstopped␈αas␈αsoon␈αas␈αthe␈αforce␈αdies␈↓ α,
␈↓ α,␈βπ∧␈↓␈↓ α,away.␈α
One␈αcan␈αimaging␈αother␈αmore␈αcomplex␈αconstraints␈αon␈αthe␈αforce␈αthan␈αmerely␈αexceeding␈↓ α,
␈↓ α,␈βπ'␈↓␈↓ α,some␈α
value␈α
in␈α
some␈α
direction.␈↓ α,
␈↓ α,␈βπJ␈↓␈↓ α,
␈↓ α,␈βπm␈↓␈↓ α,Another␈α∂limitation␈α∂to␈α∂the␈α∞WAVE␈α∞system␈α∞is␈α∞that␈α∞it␈α∞deals␈α∞in␈α∞a␈α∞completely␈α∞different␈α∞manner␈↓ α,
␈↓ α,␈βλ⊂␈↓␈↓ α,with␈α
touch␈α
sensors.␈α
It␈α
is␈α
possible␈α
to␈α
specify␈α
that␈α
activation␈α
of␈α
the␈αtouch␈αsensors␈αshould␈αstop␈↓ α,
␈↓ α,␈βλ3␈↓␈↓ α,the␈αarm,␈αbut␈αthe␈αmethod␈αis␈αcompletely␈αdifferent␈αthat␈αthe␈αforce␈αcheck.␈αAddition␈αof␈αadditional␈↓ α,
␈↓ α,␈βλV␈↓␈↓ α,types␈αof␈αsensors␈α(for␈αexample,␈αtemperature␈αor␈αproximity␈αsensors)␈αwould␈αrequire␈αmore␈αspecial␈↓ α,
␈↓ α,␈βλy␈↓␈↓ α,cases␈α
in␈α
WAVE.␈↓ α,
␈↓ α,␈β ≤␈↓␈↓ α,
␈↓ α,␈β ?␈↓␈↓ α,It␈α
is␈α
not␈α
always␈α
proper␈α
to␈α
respond␈α
to␈α
observed␈αforce␈αby␈αstopping␈αthe␈αarm.␈αPerhaps␈αthe␈αfact␈↓ α,
␈↓ α,␈β b␈↓␈↓ α,that␈α∂a␈α∂certain␈α∂force␈α∂has␈α∂been␈α∂achieved␈α∂is␈α∞merely␈α∞to␈α∞be␈α∞used␈α∞to␈α∞decide␈α∞whether␈α∞some␈α∞later␈↓ α,
␈↓ α,␈β
¬␈↓␈↓ α,motion␈α
should␈α
be␈α
attempted.␈αIn␈αa␈αsystem␈αfor␈αgeneral␈αplanning␈αof␈αarm␈αtasks,␈αit␈αis␈αreasonable␈↓ α,
␈↓ α,␈β
(␈↓␈↓ α,to␈α∞ask␈α∞that␈α∞the␈α∞user␈α∞program␈α∞be␈α∞made␈α∞aware␈α∞of␈α∞whatever␈α∞feedback␈α∞is␈α∞available␈α∞and␈α∞let␈α
it␈↓ α,
␈↓ α,␈β
K␈↓␈↓ α,decide␈α
what␈α
the␈α
appropriate␈α
action␈α
is.␈α
WAVE␈α
is␈α
completely␈α
restricted␈α
to␈α
stopping␈α
the␈α
arm.␈↓ α,
␈↓ α,␈β
n␈↓␈↓ α,
␈↓ α,␈β⊃␈↓␈↓ α,What␈α∞is␈α∞desired␈α∞is␈α∞to␈α∞be␈α
able␈α
to␈α
take␈α
arbitrary␈α
feedback␈α
during␈α
arm␈α
motions␈α
and␈α
to␈α
cause␈↓ α,
␈↓ α,␈β4␈↓␈↓ α,arbitrary␈α∩results␈α∩based␈α∩on␈α∩that␈α∩feedback.␈α∩The␈α∩technique␈α∩employed␈α∩by␈α∩AL␈α∩is␈α⊃called␈α⊃the␈↓ α,
␈↓ α,␈βW␈↓␈↓ α,"condition␈α⊃monitor".␈α⊃It␈α⊃acts␈α⊃independently␈α⊃of␈α⊃the␈α⊃main␈α⊃program,␈α⊃and␈α⊃periodically␈α⊂checks␈↓ α,
␈↓ α,␈βz␈↓␈↓ α,whatever␈α∂condition␈α∂it␈α∂has␈α∞been␈α∞set␈α∞up␈α∞to␈α∞examine.␈α∞For␈α∞example,␈α∞it␈α∞can␈α∞find␈α∞out␈α∞what␈α∞the␈↓ α,
␈↓ α,␈β≥␈↓␈↓ α,current␈α∞force␈α∞is␈α∞one␈α∞the␈α∞arm␈α∞along␈α
some␈α
vector.␈α
It␈α
can␈α
also␈α
check␈α
the␈α
touch␈α
sensors.␈α
It␈α
can␈↓ α,
␈↓ α,␈β@␈↓␈↓ α,examine␈α∞variables␈α∞in␈α
the␈α
program,␈α
or␈α
look␈α
at␈α
any␈α
other␈α
state␈α
information.␈α
On␈α
the␈α
basis␈α
of␈↓ α,
␈↓ α,␈βc␈↓␈↓ α,these␈αobservations,␈αit␈α
can␈α
be␈α
decided␈α
whether␈α
or␈α
not␈α
to␈α
trigger␈α
the␈α
conclusion,␈α
which␈α
could␈α
be␈↓ α,
␈↓ α,␈β
ε␈↓␈↓ α,to␈α∞stop␈α∞the␈α∞arm,␈α∞to␈α∞assign␈α∞some␈α∞value␈α∞to␈α∞a␈α∞variable,␈α∞or␈α
even␈α
to␈α
create␈α
some␈α
new␈α
condition␈↓ α,
␈↓ α,␈β
)␈↓␈↓ α,monitor␈α
to␈α
investigate␈α
something␈α
else.␈↓ α,
␈↓ α,␈β
L␈↓␈↓ α,
␈↓ α,␈β
o␈↓␈↓ α,This␈α
technique,␈α
which␈α
arises␈α
out␈α
of␈α
a␈α
need␈α
to␈α
perform␈α
gentle␈α
motions,␈α
turns␈α
out␈α
to␈α
have␈α
great␈↓ α,
␈↓ α,␈β∞∩␈↓␈↓ α,power␈αand␈αapplicabilty␈αto␈αother␈αsituations,␈αsuch␈αas␈αcoordinating␈αmotions␈αof␈αseveral␈αarm␈αand␈↓ α,
␈↓ α,␈β∞5␈↓␈↓ α,modifying␈α∂motions␈α∂in␈α∂progress.␈α∂This␈α∂is␈α∂because␈α∂it␈α∞is␈α∞really␈α∞not␈α∞merely␈α∞attach␈α∞some␈α∞special␈↓ α,
␈↓ α,␈β∞X␈↓␈↓ α,meaning␈α∂to␈α∂the␈α∂motion␈α∂request,␈α∂but␈α∂rather␈α∂starts␈α∂an␈α∂independent␈α∂process␈α∂which␈α∞can␈α∞have␈↓ α,
␈↓ α,␈β∞{␈↓␈↓ α,arbitrary␈α
effect.␈α
It␈α
is␈α
a␈α
means␈α
of␈α
programming␈α
side␈α
effects␈α
to␈α
arbitrary␈α
situations.␈↓ α,
␈↓ α,␈β∂≡␈↓␈↓ α,
␈↓ C␈β↓␈↓α[8]
␈↓ α,␈β↓H␈↓␈↓ α,The␈α
presently␈α
available␈α
forms␈α
of␈α
available␈α
feedback␈α
from␈α
the␈α
real␈αworld␈α(as␈αopposed␈αto␈αhe␈↓ α,
␈↓ α,␈β↓k␈↓␈↓ α,internal␈α
world␈α
of␈α
variables␈α
and␈α
thier␈α
values)␈α
are␈α
joint␈α
error␈αtorques␈αfor␈αeach␈αjoint␈αand␈αthe␈↓ α,
␈↓ α,␈βα∞␈↓␈↓ α,binary␈αstate␈αof␈αthe␈αtouch␈αsensor␈αon␈αeach␈αfinger.␈αThe␈αuser␈αhas␈αno␈αreal␈αuse␈αfor␈αthe␈αjont␈αerror␈↓ α,
␈↓ α,␈βα1␈↓␈↓ α,torques,␈αfor␈αthe␈αsame␈αreaon␈αthat␈αhe␈αhas␈αno␈αneed␈αto␈αspecify␈αthe␈αmotion␈αindividually␈αfor␈αeach␈↓ α,
␈↓ α,␈βαT␈↓␈↓ α,jont.␈αExactly␈αthe␈αsame␈αarguments,␈αboth␈αpro␈αand␈αcon,␈αapply␈α
to␈α
this␈α
question.␈α
Therefore,␈α
it␈α
has␈↓ α,
␈↓ α,␈βαw␈↓␈↓ α,been␈αour␈α
decision␈α
that␈α
the␈α
joint␈α
error␈α
torques␈α
are␈α
always␈α
translated␈α
to␈α
the␈α
component␈α
of␈α
force␈↓ α,
␈↓ α,␈ββ~␈↓␈↓ α,along␈α
and␈α
about␈α
some␈α
given␈α
vector␈α
before␈α
befing␈α
made␈α
available␈α
to␈α
the␈α
user␈α
program.␈↓ α,